[INFO] cloning repository https://github.com/mattmacy/mcp-tools
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mattmacy/mcp-tools" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmattmacy%2Fmcp-tools", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmattmacy%2Fmcp-tools'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 659931c0c707c9af1ae926596843eae324ef1068
[INFO] testing mattmacy/mcp-tools against master#cced03bfd61a304243a34504618ecec86c17063f for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmattmacy%2Fmcp-tools" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mattmacy/mcp-tools
[INFO] finished tweaking git repo https://github.com/mattmacy/mcp-tools
[INFO] tweaked toml for git repo https://github.com/mattmacy/mcp-tools written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mattmacy/mcp-tools on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mattmacy/mcp-tools already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded git2 v0.20.4
[INFO] [stderr]   Downloaded cc v1.2.61
[INFO] [stderr]   Downloaded libz-sys v1.1.28
[INFO] [stderr]   Downloaded libgit2-sys v0.18.3+1.9.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4e34c12c0ee27077aec91d5bca1662067c199bf7b3115847c759412574efb392
[INFO] running `Command { std: "docker" "start" "-a" "4e34c12c0ee27077aec91d5bca1662067c199bf7b3115847c759412574efb392", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4e34c12c0ee27077aec91d5bca1662067c199bf7b3115847c759412574efb392", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4e34c12c0ee27077aec91d5bca1662067c199bf7b3115847c759412574efb392", kill_on_drop: false }`
[INFO] [stdout] 4e34c12c0ee27077aec91d5bca1662067c199bf7b3115847c759412574efb392
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9e57af681b2240862e5a901c5687e0b461ba7655eb11b6e86ae15ede65041f3b
[INFO] running `Command { std: "docker" "start" "-a" "9e57af681b2240862e5a901c5687e0b461ba7655eb11b6e86ae15ede65041f3b", kill_on_drop: false }`
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling libz-sys v1.1.28
[INFO] [stderr]    Compiling libgit2-sys v0.18.3+1.9.2
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling lsp-shim-core v0.1.0 (/opt/rustwide/workdir/lsp-shim-core)
[INFO] [stderr]    Compiling codex-stdio v0.1.0 (/opt/rustwide/workdir/codex-stdio)
[INFO] [stderr]    Compiling lsp-rust v0.1.0 (/opt/rustwide/workdir/lsp-rust)
[INFO] [stderr]    Compiling lsp-cpp v0.1.0 (/opt/rustwide/workdir/lsp-cpp)
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stdout] warning: unused variable: `log_path`
[INFO] [stdout]    --> lsp-cpp/src/clangd.rs:720:13
[INFO] [stdout]     |
[INFO] [stdout] 720 |         let log_path = self.log_path.display().to_string();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_path`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling git2 v0.20.4
[INFO] [stderr]    Compiling wtpool v0.1.0 (/opt/rustwide/workdir/wtpool)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.53s
[INFO] running `Command { std: "docker" "inspect" "9e57af681b2240862e5a901c5687e0b461ba7655eb11b6e86ae15ede65041f3b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e57af681b2240862e5a901c5687e0b461ba7655eb11b6e86ae15ede65041f3b", kill_on_drop: false }`
[INFO] [stdout] 9e57af681b2240862e5a901c5687e0b461ba7655eb11b6e86ae15ede65041f3b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 17a532f4cbe77da05402dbfe3f9cb16ee4891a72e82edf7d07dec3f9584200d4
[INFO] running `Command { std: "docker" "start" "-a" "17a532f4cbe77da05402dbfe3f9cb16ee4891a72e82edf7d07dec3f9584200d4", kill_on_drop: false }`
[INFO] [stderr]    Compiling lsp-shim-core v0.1.0 (/opt/rustwide/workdir/lsp-shim-core)
[INFO] [stderr]    Compiling codex-stdio v0.1.0 (/opt/rustwide/workdir/codex-stdio)
[INFO] [stderr]    Compiling lsp-cpp v0.1.0 (/opt/rustwide/workdir/lsp-cpp)
[INFO] [stdout] warning: unused variable: `log_path`
[INFO] [stdout]    --> lsp-cpp/src/clangd.rs:720:13
[INFO] [stdout]     |
[INFO] [stdout] 720 |         let log_path = self.log_path.display().to_string();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_path`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling lsp-rust v0.1.0 (/opt/rustwide/workdir/lsp-rust)
[INFO] [stderr]    Compiling wtpool v0.1.0 (/opt/rustwide/workdir/wtpool)
[INFO] [stdout] warning: unused variable: `log_path`
[INFO] [stdout]    --> lsp-cpp/src/clangd.rs:720:13
[INFO] [stdout]     |
[INFO] [stdout] 720 |         let log_path = self.log_path.display().to_string();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_path`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.27s
[INFO] running `Command { std: "docker" "inspect" "17a532f4cbe77da05402dbfe3f9cb16ee4891a72e82edf7d07dec3f9584200d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "17a532f4cbe77da05402dbfe3f9cb16ee4891a72e82edf7d07dec3f9584200d4", kill_on_drop: false }`
[INFO] [stdout] 17a532f4cbe77da05402dbfe3f9cb16ee4891a72e82edf7d07dec3f9584200d4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d2f2dd97d0f9f24d54c0e0ddf9fafecd1380398e7bbce48d65dcb335b07f6537
[INFO] running `Command { std: "docker" "start" "-a" "d2f2dd97d0f9f24d54c0e0ddf9fafecd1380398e7bbce48d65dcb335b07f6537", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `log_path`
[INFO] [stderr]    --> lsp-cpp/src/clangd.rs:720:13
[INFO] [stderr]     |
[INFO] [stderr] 720 |         let log_path = self.log_path.display().to_string();
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_path`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `lsp-cpp` (lib) generated 1 warning (run `cargo fix --lib -p lsp-cpp` to apply 1 suggestion)
[INFO] [stderr] warning: `lsp-cpp` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/codex_stdio-35b6c5db1f1c92f2)
[INFO] [stdout] 
[INFO] [stdout] running 40 tests
[INFO] [stdout] test codex::tests::build_codex_exec_args_bypass_emits_dangerous_flag_only ... ok
[INFO] [stdout] test codex::tests::build_codex_exec_args_default_emits_workspace_write_sandbox ... ok
[INFO] [stdout] test codex::tests::locate_codex_binary_rejects_nonexistent_override ... ok
[INFO] [stdout] test codex::tests::parse_codex_jsonl_omits_optional_axes_when_absent ... ok
[INFO] [stdout] test codex::tests::parse_codex_jsonl_tolerates_noise_and_truncation ... ok
[INFO] [stdout] test codex::tests::replay_client_missing_fixture_returns_err ... ok
[INFO] [stdout] test mcp::tests::initialized_notification_returns_no_response ... ok
[INFO] [stdout] test mcp::tests::initialize_advertises_tools_capability ... ok
[INFO] [stdout] test mcp::tests::tools_list_advertises_two_tools_with_schemas ... ok
[INFO] [stdout] test mcp::tests::malformed_json_returns_parse_error ... ok
[INFO] [stdout] test codex::tests::replay_client_jsonl_fixture_round_trips_event_stream ... ok
[INFO] [stdout] test codex::tests::parse_codex_jsonl_takes_last_turn_when_multiple ... ok
[INFO] [stdout] test codex::tests::for_worktree_replay_fixture_short_circuits_binary_search ... ok
[INFO] [stdout] test codex::tests::replay_client_json_extension_keeps_legacy_path ... ok
[INFO] [stdout] test run_task::tests::parse_args_rejects_empty_task_packet ... ok
[INFO] [stdout] test codex::tests::replay_client_round_trips_fixture ... ok
[INFO] [stdout] test run_task::tests::parse_args_uses_default_model_and_max_tokens ... ok
[INFO] [stdout] test run_task::tests::rejects_nonexistent_path ... ok
[INFO] [stdout] test codex::tests::build_codex_exec_args_max_tokens_round_trips ... ok
[INFO] [stdout] test run_task::tests::git_rev_parse_head_errs_on_non_git_dir ... ok
[INFO] [stdout] test run_task::tests::rejects_path_outside_worktree_root ... ok
[INFO] [stdout] test codex::tests::sandbox_bypass_from_env_explicit_zero_returns_false ... ok
[INFO] [stdout] test run_task::tests::rejects_relative_worktree_path ... ok
[INFO] [stdout] test codex::tests::sandbox_bypass_from_env_truthy_returns_true ... ok
[INFO] [stdout] test codex::tests::sandbox_bypass_from_env_unset_returns_false ... ok
[INFO] [stdout] test health::tests::missing_codex_binary_returns_unavailable_with_reason ... ok
[INFO] [stdout] test codex::tests::parse_codex_jsonl_extracts_thread_id_and_usage ... ok
[INFO] [stdout] test mcp::tests::unknown_tool_returns_structured_error ... ok
[INFO] [stdout] test run_task::tests::parse_args_requires_task_packet ... ok
[INFO] [stdout] test run_task::tests::validate_diff_paths_accepts_dev_null_sentinel ... ok
[INFO] [stdout] test run_task::tests::dispatch_rejects_hostile_diff_via_validator_wiring ... ok
[INFO] [stdout] test run_task::tests::validate_diff_paths_accepts_empty_diff ... ok
[INFO] [stdout] test run_task::tests::validate_diff_paths_accepts_paths_inside_worktree ... ok
[INFO] [stdout] test run_task::tests::validate_diff_paths_rejects_parent_traversal ... ok
[INFO] [stdout] test run_task::tests::validate_diff_paths_rejects_absolute_path_outside_worktree ... ok
[INFO] [stdout] test run_task::tests::dispatch_logs_when_pre_sha_snapshot_fails_on_non_git_dir ... ok
[INFO] [stdout] test run_task::tests::git_helpers_round_trip_real_worktree ... ok
[INFO] [stdout] test run_task::tests::dispatch_with_replay_client_returns_diff_and_token_count ... ok
[INFO] [stdout] test run_task::tests::dispatch_emits_extended_axes_when_present_in_usage ... ok
[INFO] [stdout] test run_task::tests::dispatch_uses_codex_self_commit_when_post_sha_diverges ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/codex_stdio-d85bc5cdccd55f52)
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-508197abadff2a78)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test health_round_trip_with_no_codex_binary_returns_unavailable ... ok
[INFO] [stdout] test initialize_round_trip_returns_server_info ... ok
[INFO] [stdout] test tools_list_round_trip_returns_two_codex_tools ... ok
[INFO] [stdout] test replay_event_stream_fixture_exposes_usage_axes ... ok
[INFO] [stdout] test run_task_replay_fixture_returns_diff ... ok
[INFO] [stdout] test run_task_rejects_worktree_outside_pool ... ok
[INFO] [stdout] test run_task_missing_required_args_returns_invalid_params_or_internal ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/shim_refuses_manufacture.rs (/opt/rustwide/target/debug/deps/shim_refuses_manufacture-6a11c18bdd620602)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test refuses_when_codex_doesnt_commit_but_worktree_dirty ... ok
[INFO] [stdout] test returns_none_when_no_edits ... ok
[INFO] [stdout] test passes_through_when_codex_commits ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lsp_cpp-580852aa21aee808)
[INFO] [stdout] 
[INFO] [stdout] running 57 tests
[INFO] [stdout] test clangd::tests::build_full_index_smoke ... ignored
[INFO] [stdout] test clangd::tests::count_shards_handles_missing_dir_and_filters_by_extension ... ok
[INFO] [stdout] test clangd::tests::full_mode_with_missing_index_reports_structured_error ... ok
[INFO] [stdout] test clangd::tests::hybrid_mode_with_missing_index_reports_structured_error ... ok
[INFO] [stdout] test clangd::tests::index_mode_from_env_defaults_to_narrow ... ok
[INFO] [stdout] test clangd::tests::index_mode_from_env_parses_full_with_explicit_path ... ok
[INFO] [stdout] test clangd::tests::build_full_index_rejects_full_index_mode ... ok
[INFO] [stdout] test clangd::tests::parse_locations_handles_array_object_and_null ... ok
[INFO] [stdout] test clangd::tests::missing_compile_commands_reports_structured_error ... ok
[INFO] [stdout] test clangd::tests::pick_compile_commands_errors_when_neither_present ... ok
[INFO] [stdout] test clangd::tests::read_compile_commands_rejects_non_array_root ... ok
[INFO] [stdout] test clangd::tests::pick_compile_commands_falls_back_to_narrow ... ok
[INFO] [stdout] test clangd::tests::resolve_errors_when_neither_present ... ok
[INFO] [stdout] test clangd::tests::resolve_falls_back_to_full ... ok
[INFO] [stdout] test clangd::tests::pick_compile_commands_prefers_full_over_narrow ... ok
[INFO] [stdout] test jsonrpc::tests::missing_content_length_returns_protocol_error ... ok
[INFO] [stdout] test jsonrpc::tests::truncated_body_surfaces_io_error ... ok
[INFO] [stdout] test clangd::tests::resolve_prefers_narrow_when_present ... ok
[INFO] [stdout] test mcp::tests::exit_status_to_reason_round_trip ... ok
[INFO] [stdout] test mcp::tests::dispatch_broken_pipe_records_exit ... ok
[INFO] [stdout] test mcp::tests::dispatch_success_in_backoff_transitions_to_running ... ok
[INFO] [stdout] test clangd::tests::read_compile_commands_dedupes_by_file_in_order ... ok
[INFO] [stdout] test mcp::tests::handshake_methods_bypass_full_queue ... ok
[INFO] [stdout] test mcp::tests::initialize_advertises_tools_capability ... ok
[INFO] [stdout] test mcp::tests::initialized_notification_yields_empty_serve_output ... ok
[INFO] [stdout] test clangd::tests::classify_timeout_alive_subprocess_returns_busy ... ok
[INFO] [stdout] test mcp::tests::malformed_json_returns_parse_error_not_silent_null ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/lsp_cpp-9265c18341423ac9)
[INFO] [stdout] test clangd::tests::workspace_symbol_uses_longer_timeout_than_position_queries ... ok
[INFO] [stdout] test mcp::tests::tools_list_enumerates_six_tools_with_schemas ... ok
[INFO] [stdout] test mcp::tests::failed_supervisor_returns_max_retries_error ... ok
[INFO] [stdout] test mcp::tests::initialize_request_does_not_spawn_clangd ... ok
[INFO] [stdout] test mcp::tests::status_payload_alive_ok_false_omits_probe_error ... ok
[INFO] [stdout] test clangd::tests::missing_clangd_binary_reports_structured_error ... ok
[INFO] [stdout] test mcp::tests::status_payload_alive_ok_true_omits_probe_error ... ok
[INFO] [stdout] test mcp::tests::status_payload_alive_probe_error_surfaces_io_failure ... ok
[INFO] [stdout] test mcp::tests::status_tool_bypasses_queue_and_supervisor_gates ... ok
[INFO] [stdout] test mcp::tests::status_tool_callable_without_spawning_clangd ... ok
[INFO] [stdout] test mcp::tests::tools_call_unknown_tool_returns_structured_error ... ok
[INFO] [stdout] test mcp::tests::tools_call_with_full_queue_returns_queue_depth_exceeded ... ok
[INFO] [stdout] test clangd::tests::index_mode_from_env_concurrent_set_and_read_serialised ... ok
[INFO] [stdout] test jsonrpc::tests::round_trip_through_in_memory_buffer ... ok
[INFO] [stdout] test queue::tests::in_flight_never_exceeds_capacity_under_burst ... ok
[INFO] [stdout] test queue::tests::queue_accepts_capacity_requests_and_rejects_overflow ... ok
[INFO] [stdout] test queue::tests::slot_drop_releases_back_to_zero ... ok
[INFO] [stdout] test supervisor::tests::backoff_curve_doubles_then_caps_at_16s ... ok
[INFO] [stdout] test supervisor::tests::backoff_expires_and_returns_proceed_after_window ... ok
[INFO] [stdout] test supervisor::tests::current_uptime_spans_all_states ... ok
[INFO] [stdout] test mcp::tests::tools_list_request_returns_six_tools ... ok
[INFO] [stdout] test supervisor::tests::current_uptime_uses_state_anchor_not_spawn_anchor ... ok
[INFO] [stdout] test supervisor::tests::five_crashes_in_window_trip_failed_then_window_expires ... ok
[INFO] [stdout] test supervisor::tests::healthy_uptime_resets_backoff ... ok
[INFO] [stdout] test supervisor::tests::should_retry_decision_matrix ... ok
[INFO] [stdout] test supervisor::tests::try_wait_total_ns_accumulates_monotonically ... ok
[INFO] [stdout] test supervisor::tests::try_wait_total_ns_stays_zero_when_wrapper_missing ... ok
[INFO] [stdout] test supervisor::tests::try_wait_total_ns_zero_without_invocations ... ok
[INFO] [stdout] test clangd::tests::classify_timeout_exited_subprocess_returns_exited ... ok
[INFO] [stdout] test queue::tests::zero_capacity_panics - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 56 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/build_full_index_preserves_child.rs (/opt/rustwide/target/debug/deps/build_full_index_preserves_child-ccda4d9bc6c0de64)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test build_full_index_preserves_child_and_seeds_symbol_table ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/seed_didopen.rs (/opt/rustwide/target/debug/deps/seed_didopen-fea8af688ec4cb10)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test seed_didopen_makes_seeded_symbols_resolvable ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lsp_rust-efc880d4dd310c30)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test lsp::tests::log_path_resolves_from_env_then_default ... ok
[INFO] [stdout] test lsp::tests::lsp_error_carries_retry_after_for_content_modified ... ok
[INFO] [stdout] test lsp::tests::resolve_timeout_default_is_60s ... ok
[INFO] [stdout] test lsp::tests::resolve_timeout_falls_back_to_env ... ok
[INFO] [stdout] test lsp::tests::resolve_timeout_prefers_cli_over_env ... ok
[INFO] [stdout] test mcp::tests::initialize_advertises_tools_capability ... ok
[INFO] [stdout] test mcp::tests::initialize_request_does_not_spawn_rust_analyzer ... ok
[INFO] [stdout] test lsp::tests::spawn_with_missing_binary_returns_structured_error ... ok
[INFO] [stdout] test mcp::tests::initialized_notification_returns_no_response ... ok
[INFO] [stdout] test mcp::tests::malformed_json_returns_parse_error_not_silent_null ... ok
[INFO] [stdout] test mcp::tests::tools_call_unknown_tool_returns_structured_error ... ok
[INFO] [stdout] test mcp::tests::tools_list_enumerates_six_tools_with_schemas ... ok
[INFO] [stdout] test mcp::tests::tools_call_definition_routes_to_backend ... ok
[INFO] [stdout] test mcp::tests::tools_list_request_returns_six_tools ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/lsp_rust-13acb81b045b960e)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test tests::parse_location_extracts_three_parts ... ok
[INFO] [stdout] test tests::parse_location_rejects_missing_column ... ok
[INFO] [stdout] test tests::parse_location_rejects_non_numeric_line ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lsp_shim_core-778a51c69c0239f2)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test framing::tests::encode_frame_emits_content_length_header_then_body ... ok
[INFO] [stdout] test framing::tests::parse_content_length_rejects_missing_header ... ok
[INFO] [stdout] test framing::tests::parse_response_preserves_error_data_payload ... ok
[INFO] [stdout] test framing::tests::recv_frame_missing_content_length_errors ... ok
[INFO] [stdout] test framing::tests::parse_content_length_rejects_non_numeric ... ok
[INFO] [stdout] test framing::tests::parse_response_distinguishes_null_result_from_error ... ok
[INFO] [stdout] test framing::tests::recv_frame_truncated_body_eof ... ok
[INFO] [stdout] test framing::tests::retry_codes_match_lsp_spec ... ok
[INFO] [stdout] test framing::tests::parse_response_rejects_non_json_body ... ok
[INFO] [stdout] test framing::tests::send_recv_frame_round_trip ... ok
[INFO] [stdout] test mcp_proto::tests::error_codes_match_jsonrpc_spec ... ok
[INFO] [stdout] test mcp_proto::tests::method_names_match_mcp_spec ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wtpool-fcf5dcb6ba366833)
[INFO] [stdout] test framing::tests::parse_content_length_extracts_numeric_value ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 149 tests
[INFO] [stdout] test agents::tests::agent_inflight_summary_handles_empty_tmp ... ok
[INFO] [stdout] test agents::tests::associate_via_known_prefers_longer_name_on_substring_collision ... ok
[INFO] [stdout] test agents::tests::associate_via_known_matches_worktree_name_in_task_id ... ok
[INFO] [stdout] test agents::tests::associate_via_known_returns_none_when_no_substring ... ok
[INFO] [stdout] test agents::tests::associate_via_known_handles_empty_task_id ... ok
[INFO] [stdout] test agents::tests::extract_worktree_path_handles_quoted_path ... ok
[INFO] [stdout] test agents::tests::extract_worktree_path_finds_canonical_form ... ok
[INFO] [stdout] test agents::tests::extract_worktree_path_returns_none_when_absent ... ok
[INFO] [stdout] test agents::tests::iso8601_round_trip_known_epoch ... ok
[INFO] [stdout] test cache::tests::cache_distinct_keys_do_not_alias ... ok
[INFO] [stdout] test cache::tests::cache_error_not_persisted ... ok
[INFO] [stdout] test cache::tests::cache_hit_avoids_recompute ... ok
[INFO] [stdout] test cumulative_md::tests::branch_comment_alongside_row_is_accepted ... ok
[INFO] [stdout] test cumulative_md::tests::deletion_one_side_bails_content_mixed ... ok
[INFO] [stdout] test cumulative_md::tests::conflict_kind_wire_strings_are_distinct ... ok
[INFO] [stdout] test cumulative_md::tests::duplicate_rows_collapse ... ok
[INFO] [stdout] test cumulative_md::tests::extract_branch_name_from_comment ... ok
[INFO] [stdout] test cumulative_md::tests::extract_branch_name_from_phase2_token_in_table_row ... ok
[INFO] [stdout] test cumulative_md::tests::footer_zone_bails ... ok
[INFO] [stdout] test cumulative_md::tests::malformed_markers_bail ... ok
[INFO] [stdout] test cumulative_md::tests::multiple_conflict_blocks_resolve_independently ... ok
[INFO] [stdout] test cumulative_md::tests::no_conflict_returns_input_unchanged ... ok
[INFO] [stdout] test git::tests::validate_worktree_path_rejects_outside_allowlist ... ok
[INFO] [stdout] test git::tests::validate_worktree_path_rejects_relative ... ok
[INFO] [stdout] test cumulative_md::tests::non_table_line_bails_content_mixed ... ok
[INFO] [stdout] test cumulative_md::tests::ordering_is_stable_and_deterministic ... ok
[INFO] [stdout] test cumulative_md::tests::preamble_zone_bails ... ok
[INFO] [stdout] test cumulative_md::tests::pure_table_row_conflict_unions_sorted ... ok
[INFO] [stdout] test lease::tests::glob_match_literal_segment ... ok
[INFO] [stdout] test lease::tests::invalid_created_at_rejected ... ok
[INFO] [stdout] test lease::tests::invalid_task_id_rejected ... ok
[INFO] [stdout] test lease::tests::is_expired_no_expiry_returns_false ... ok
[INFO] [stdout] test lease::tests::is_expired_past_expiry_returns_true ... ok
[INFO] [stdout] test lease::tests::lease_emit_args_defaults_merge_authority ... ok
[INFO] [stdout] test git_exec::tests::render_command_escapes_inner_single_quote ... ok
[INFO] [stdout] test git_exec::tests::render_command_no_override_no_quote ... ok
[INFO] [stdout] test git::tests::validate_worktree_path_accepts_subpath_under_allowed_root ... ok
[INFO] [stdout] test git_exec::tests::git_executes_against_real_repo_when_present ... ok
[INFO] [stdout] test git_exec::tests::render_command_quotes_whitespace_args ... ok
[INFO] [stdout] test git_exec::tests::render_command_with_override_prepends ... ok
[INFO] [stdout] test lease::tests::glob_match_dot_claude_pattern_matches_subdir ... ok
[INFO] [stdout] test lease::tests::glob_match_double_star_crosses_segments ... ok
[INFO] [stdout] test lease::tests::glob_match_single_star_within_segment ... ok
[INFO] [stdout] test lease::tests::lease_emit_args_missing_worker_errors ... ok
[INFO] [stdout] test lease::tests::matches_cwd_nonexistent_path_fails_closed ... ok
[INFO] [stdout] test lease::tests::matches_path_unlisted_path_rejected ... ok
[INFO] [stdout] test lease::tests::matches_cwd_outside_worktree_fails ... ok
[INFO] [stdout] test lease::tests::matches_path_allowed_glob_hits ... ok
[INFO] [stdout] test lease::tests::matches_path_empty_path_rejected ... ok
[INFO] [stdout] test lease::tests::matches_path_forbidden_takes_precedence_over_allowed ... ok
[INFO] [stdout] test lease::tests::rfc3339_offset_parses ... ok
[INFO] [stdout] test lease::tests::rfc3339_rejects_garbage ... ok
[INFO] [stdout] test lease::tests::matches_cwd_symlink_pointing_outside_fails ... ok
[INFO] [stdout] test lease::tests::rfc3339_round_trip ... ok
[INFO] [stdout] test lease::tests::matches_cwd_inside_worktree_passes ... ok
[INFO] [stdout] test lease::tests::unknown_field_is_rejected_by_deny_unknown_fields ... ok
[INFO] [stdout] test lease::tests::write_rejects_nonexistent_worktree_when_validation_on ... ok
[INFO] [stdout] test lease::tests::schema_version_mismatch_rejected ... ok
[INFO] [stdout] test lease::tests::matches_test_command_exact_only ... ok
[INFO] [stdout] test mcp::tests::initialize_advertises_tools_capability ... ok
[INFO] [stdout] test lease::tests::minimal_lease_round_trips_through_json ... ok
[INFO] [stdout] test git::tests::worktree_state_missing_path_errors_clearly ... ok
[INFO] [stdout] test lease::tests::missing_task_id_surfaces_named_error ... ok
[INFO] [stdout] test lease::tests::worker_enum_round_trips_kebab_case ... ok
[INFO] [stdout] test mcp::tests::initialized_notification_returns_no_response ... ok
[INFO] [stdout] test lease::tests::read_from_file_missing_path_returns_io_error ... ok
[INFO] [stdout] test mcp::tests::malformed_json_returns_parse_error ... ok
[INFO] [stdout] test mcp::tests::merge_to_main_rejects_self_merge_voices ... ok
[INFO] [stdout] test mcp::tests::tools_list_advertises_eleven_tools_with_schemas ... ok
[INFO] [stdout] test mcp::tests::unknown_tool_returns_structured_error ... ok
[INFO] [stdout] test mcp::tests::pending_review_missing_branch_arg_returns_invalid_params ... ok
[INFO] [stdout] test mcp::tests::tools_call_pending_review_routes_to_handler ... ok
[INFO] [stdout] test mcp::tests::worktree_state_missing_path_arg_returns_invalid_params ... ok
[INFO] [stdout] test mcp::tests::merge_to_main_missing_required_arg_errors ... ok
[INFO] [stdout] test mcp::tests::worktree_lease_get_missing_file_returns_io_kind ... ok
[INFO] [stdout] test mcp::tests::worktree_lease_emit_then_get_round_trips ... ok
[INFO] [stdout] test mcp::tests::worktree_state_rejects_bad_path ... ok
[INFO] [stdout] test merge::tests::carveout_eligible_when_all_paths_allowlisted ... ok
[INFO] [stdout] test merge::tests::carveout_ineligible_for_docs_plans_and_research ... ok
[INFO] [stdout] test merge::tests::carveout_ineligible_on_empty_input ... ok
[INFO] [stdout] test merge::tests::carveout_ineligible_when_one_path_outside_allowlist ... ok
[INFO] [stdout] test merge::tests::carveout_rejects_paths_outside_allowlist ... ok
[INFO] [stdout] test merge::tests::carveout_trailer_appears_in_merge_message_when_voices_empty ... ok
[INFO] [stdout] test merge::tests::carveout_trailer_emitted_when_voices_empty ... ok
[INFO] [stdout] test merge::tests::compose_trailer_preserves_explicit_human_label ... ok
[INFO] [stdout] test merge::tests::compose_message_includes_subject_body_trailer ... ok
[INFO] [stdout] test merge::tests::compose_message_omits_blank_body ... ok
[INFO] [stdout] test merge::tests::compose_trailer_passes_voices_through_verbatim ... ok
[INFO] [stdout] test merge::tests::carveout_rejects_blank_path_entries ... ok
[INFO] [stdout] test merge::tests::compose_trailer_two_voices_one_line_each ... ok
[INFO] [stdout] test merge::tests::merge_status_wire_strings_stable ... ok
[INFO] [stdout] test merge::tests::validate_accepts_when_bypass_env_set ... ok
[INFO] [stdout] test merge::tests::validate_accepts_subject_containing_branch_name ... ok
[INFO] [stdout] test merge::tests::validate_accepts_torvalds_alone ... ok
[INFO] [stdout] test lease::tests::write_round_trips_via_tempdir ... ok
[INFO] [stdout] test merge::tests::validate_rejects_blank_subject ... ok
[INFO] [stdout] test cache::tests::cache_expiry_forces_recompute ... ok
[INFO] [stdout] test merge::tests::validate_rejects_subject_over_72_chars ... ok
[INFO] [stdout] test merge::tests::validate_rejects_subject_without_branch_name ... ok
[INFO] [stdout] test merge::tests::validate_request_accepts_empty_voices_defers_to_carveout_gate ... ok
[INFO] [stdout] test mcp::tests::worktree_lease_check_uses_glob ... ok
[INFO] [stdout] test merge::tests::validate_request_fast_path_rejects_worktree_worker_only ... ok
[INFO] [stdout] test merge::tests::validate_voices_rejects_empty_when_not_carveout ... ok
[INFO] [stdout] test merge::tests::validate_voices_accepts_named_voice_regardless_of_carveout ... ok
[INFO] [stdout] test merge::tests::validate_bypass_only_accepts_literal_one ... ok
[INFO] [stdout] test merge::tests::validate_rejects_blank_branch ... ok
[INFO] [stdout] test merge::tests::validate_voices_rejects_only_worktree_worker_even_on_carveout ... ok
[INFO] [stdout] test merge::tests::validate_voices_accepts_empty_when_carveout_eligible ... ok
[INFO] [stdout] test merge::tests::compose_trailer_preserves_three_panel ... ok
[INFO] [stdout] test lease::tests::write_concurrent_emits_no_corruption ... ok
[INFO] [stdout] test git::tests::worktree_state_reports_log_tail_and_counts ... ok
[INFO] [stdout] test pool::tests::pool_status_errors_when_pool_root_absent ... ok
[INFO] [stdout] test git::tests::worktree_path_returns_working_tree ... ok
[INFO] [stdout] test git::tests::worktree_list_includes_main_and_linked ... ok
[INFO] [stdout] test pool::tests::acquire_rejects_unknown_base_sha ... ok
[INFO] [stdout] test git::tests::worktree_state_dirty_flag_flips_on_uncommitted_change ... ok
[INFO] [stdout] test pool::tests::acquire_succeeds_after_holder_fd_close_simulates_crash ... ok
[INFO] [stdout] test pool::tests::acquire_without_branch_name_returns_detached_slot ... ok
[INFO] [stdout] test pool::tests::acquire_recovers_from_stale_lockfile_without_live_holder ... ok
[INFO] [stdout] test pool::tests::acquire_with_explicit_base_sha_uses_it ... ok
[INFO] [stdout] test pool::tests::acquire_exhausted_reports_in_use_branches ... ok
[INFO] [stdout] test pool::tests::acquire_rejects_duplicate_branch ... ok
[INFO] [stdout] test pool::tests::validate_branch_name_rejects_bad_inputs ... ok
[INFO] [stdout] test pool::tests::release_rejects_path_outside_pool ... ok
[INFO] [stdout] test pool::tests::acquire_skips_slot_with_live_flock_holder ... ok
[INFO] [stdout] test pool::tests::release_clean_fdx_drops_ignored_files ... ok
[INFO] [stdout] test reviews::tests::extract_verdict_word_first_token_when_no_header ... ok
[INFO] [stdout] test reviews::tests::extract_verdict_word_handles_empty_line ... ok
[INFO] [stdout] test reviews::tests::extract_verdict_word_handles_markdown_heading ... ok
[INFO] [stdout] test reviews::tests::pending_review_finds_present_verdict_files ... ok
[INFO] [stdout] test reviews::tests::extract_verdict_word_canonical_proceed ... ok
[INFO] [stdout] test reviews::tests::pending_review_missing_files_returns_exists_false ... ok
[INFO] [stdout] test reviews::tests::pending_review_keys_include_carmack ... ok
[INFO] [stdout] test reviews::tests::pending_review_rejects_branch_with_shell_metachars ... ok
[INFO] [stdout] test reviews::tests::pending_review_rejects_empty_branch ... ok
[INFO] [stdout] test pool::tests::acquire_detached_advances_stale_head_to_current_main ... ok
[INFO] [stdout] test pool::tests::pool_status_lists_free_slots ... ok
[INFO] [stdout] test pool::tests::release_postcondition_contract_redundantly_verifies_state ... ok
[INFO] [stdout] test pool::tests::verify_post_release_rejects_dirty_tree ... ok
[INFO] [stdout] test pool::tests::acquire_then_release_round_trip ... ok
[INFO] [stdout] test pool::tests::release_preserves_worktree_template_cargo_config ... ok
[INFO] [stdout] test pool::tests::release_refuses_detached_dirty_without_force ... ok
[INFO] [stdout] test pool::tests::verify_post_release_rejects_head_on_branch ... ok
[INFO] [stdout] test pool::tests::race_safety_two_concurrent_acquires_get_distinct_slots ... ok
[INFO] [stdout] test pool::tests::verify_post_release_rejects_head_at_wrong_sha ... ok
[INFO] [stdout] test pool::tests::acquire_branches_at_current_main_not_stale_detached_head ... ok
[INFO] [stdout] test pool::tests::release_refuses_when_branch_has_unmerged_commits ... ok
[INFO] [stdout] test pool::tests::race_safety_lockfile_cleanup_release_reacquire_round_trips ... ok
[INFO] [stdout] test pool::tests::race_safety_high_contention_8t_4slots_100iters ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 149 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 17.72s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/wtpool-71196b20a9f20bc0)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-d5a3d18c3fbae7ea)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test worktree_list_against_actual_workspace_returns_main_entry ... ok
[INFO] [stdout] test pending_review_round_trip_through_real_tmp_files ... ok
[INFO] [stdout] test mcp_serve_loop_handles_initialize_then_tools_list_then_call ... ok
[INFO] [stdout] test worktree_state_against_temp_repo_matches_fixture ... ok
[INFO] [stderr]      Running tests/merge_carveout.rs (/opt/rustwide/target/debug/deps/merge_carveout-0cd5375fee77c33b)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test case_e_tools_sibling_file_is_not_carveout_eligible ... ok
[INFO] [stdout] test case_c_symlink_escape_under_allowlisted_dir_rejected ... ok
[INFO] [stdout] test case_c_dangling_symlink_under_allowlisted_dir_rejected ... ok
[INFO] [stdout] test dogfood_branch_touching_merge_impl_is_not_carveout_eligible ... ok
[INFO] [stdout] test case_d_deletion_of_allowlisted_file_carveout_eligible ... ok
[INFO] [stdout] test case_b_one_non_allowlisted_path_rejects_empty_voices ... ok
[INFO] [stdout] test case_a_all_allowlisted_paths_carveout_eligible ... FAILED
[INFO] [stdout] test case_e_2026_05_03_additions_are_carveout_eligible ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- case_a_all_allowlisted_paths_carveout_eligible stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'case_a_all_allowlisted_paths_carveout_eligible' (1730) panicked at wtpool/tests/merge_carveout.rs:141:60:
[INFO] [stdout] carveout dry-run must succeed: "merge_to_main: `reviewer_voices` must contain at least one non-`worktree-worker` voice (reviewer-voice policy). Empty list permitted only when every touched path matches the carveout allowlist."
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x56f02e10f328 - std[929523f510218772]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x56f02e10f328 - std[929523f510218772]::backtrace_rs::backtrace::trace_unsynchronized::<std[929523f510218772]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x56f02e10f328 - std[929523f510218772]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x56f02e10f328 - <<std[929523f510218772]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[28b146924c2f19c6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x56f02e1240da - <core[28b146924c2f19c6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x56f02e1240da - core[28b146924c2f19c6]::fmt::write
[INFO] [stdout]    6:     0x56f02e113c92 - std[929523f510218772]::io::default_write_fmt::<alloc[95e62e727ddf147d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x56f02e113c92 - <alloc[95e62e727ddf147d]::vec::Vec<u8> as std[929523f510218772]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x56f02e0ebe36 - <std[929523f510218772]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x56f02e0ebe36 - std[929523f510218772]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x56f02e106899 - std[929523f510218772]::panicking::default_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x56f02df5885c - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x56f02df5885c - test[6ec0502068880816]::test_main_inner::<test[6ec0502068880816]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x56f02e106b12 - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x56f02e106b12 - std[929523f510218772]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x56f02e0ebef2 - std[929523f510218772]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x56f02e0e0e99 - std[929523f510218772]::sys::backtrace::__rust_end_short_backtrace::<std[929523f510218772]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x56f02e0ecccd - __rustc[acf6043c977865fb]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x56f02e12485c - core[28b146924c2f19c6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x56f02e1245d2 - core[28b146924c2f19c6]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/result.rs:1872:5
[INFO] [stdout]   20:     0x56f02df48f7b - <core[28b146924c2f19c6]::result::Result<serde_json[c83625cfb61574d3]::value::Value, alloc[95e62e727ddf147d]::string::String>>::expect
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x56f02df42757 - merge_carveout[da49a24b60ab5ecc]::case_a_all_allowlisted_paths_carveout_eligible
[INFO] [stdout]                                at /opt/rustwide/workdir/wtpool/tests/merge_carveout.rs:141:60
[INFO] [stdout]   22:     0x56f02df411a7 - merge_carveout[da49a24b60ab5ecc]::case_a_all_allowlisted_paths_carveout_eligible::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/wtpool/tests/merge_carveout.rs:131:52
[INFO] [stdout]   23:     0x56f02df4b6c6 - <merge_carveout[da49a24b60ab5ecc]::case_a_all_allowlisted_paths_carveout_eligible::{closure#0} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x56f02df4b93b - <fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x56f02df4b93b - test[6ec0502068880816]::__rust_begin_short_backtrace::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x56f02df591b5 - test[6ec0502068880816]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x56f02df591b5 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x56f02df591b5 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x56f02df591b5 - std[929523f510218772]::panicking::catch_unwind::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x56f02df591b5 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x56f02df591b5 - test[6ec0502068880816]::run_test_in_process
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x56f02df591b5 - test[6ec0502068880816]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x56f02df53d14 - test[6ec0502068880816]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x56f02df53d14 - std[929523f510218772]::sys::backtrace::__rust_begin_short_backtrace::<test[6ec0502068880816]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x56f02df5c232 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x56f02df5c232 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x56f02df5c232 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x56f02df5c232 - std[929523f510218772]::panicking::catch_unwind::<(), core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x56f02df5c232 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x56f02df5c232 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x56f02df5c232 - <std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x56f02e10e76f - <alloc[95e62e727ddf147d]::boxed::Box<dyn core[28b146924c2f19c6]::ops::function::FnOnce<(), Output = ()> + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   43:     0x56f02e10e76f - <std[929523f510218772]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7511f5edfaa4 - <unknown>
[INFO] [stdout]   45:     0x7511f5f6ca64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     case_a_all_allowlisted_paths_carveout_eligible
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 7 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p wtpool --test merge_carveout`
[INFO] running `Command { std: "docker" "inspect" "d2f2dd97d0f9f24d54c0e0ddf9fafecd1380398e7bbce48d65dcb335b07f6537", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d2f2dd97d0f9f24d54c0e0ddf9fafecd1380398e7bbce48d65dcb335b07f6537", kill_on_drop: false }`
[INFO] [stdout] d2f2dd97d0f9f24d54c0e0ddf9fafecd1380398e7bbce48d65dcb335b07f6537
